#ifndef _OI_PLSCANNERCORE_PROFILEMEASUREDLG_HPP_
#define _OI_PLSCANNERCORE_PROFILEMEASUREDLG_HPP_

#include "Ctrl/OiDialog.hpp"

namespace Oi
{
    namespace PLScannerCore
    {
        class OI_PLSCANNER_CORE_API CheckCalibItem : public QGraphicsObject
        {
            Q_OBJECT

        public:
            CheckCalibItem(ProfileView *view, QGraphicsItem *parent = nullptr);

        public:
            QRectF boundingRect() const;

        public slots: 
            void onFrame(const OiProfiles profiles);

        public:
            void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);

        private:
            OI_DISABLE_COPY(CheckCalibItem);
            OI_DECLARE_IMPL(CheckCalibItem);
        };

        class OI_PLSCANNER_CORE_API ProfileMeasureDlg : public Ctrl::Dialog
        {
            Q_OBJECT
        public:
            ProfileMeasureDlg(QWidget *parent = nullptr);

            ~ProfileMeasureDlg();

        public slots:

            void onReady();

            void onLive(bool checked);

            void onFindCircle(bool checked);

        public slots:
            void onFrame(const OiProfiles profiles);

        private:
            OI_DISABLE_COPY(ProfileMeasureDlg);
            OI_DECLARE_IMPL(ProfileMeasureDlg);
        };

    }
}

#endif
